home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / fish / 701-725 / 708 / intuisup / intuisup42.lha / Intuisup / source.lha / Editor / defines.h next >
C/C++ Source or Header  |  1992-06-22  |  9KB  |  269 lines

  1. /* $Revision Header *** Header built automatically - do not edit! ***********
  2.  *
  3.  *    (C) Copyright 1991 by Torsten Jürgeleit
  4.  *
  5.  *    Name .....: defines.h
  6.  *    Created ..: Sunday 22-Dec-91 21:22:12
  7.  *    Revision .: 1
  8.  *
  9.  *    Date        Author                 Comment
  10.  *    =========   ====================   ====================
  11.  *    31-Dec-91   Torsten Jürgeleit      new font management
  12.  *    22-Dec-91   Torsten Jürgeleit      Created this file!
  13.  *
  14.  ****************************************************************************
  15.  *
  16.  *    Defines and structures
  17.  *
  18.  * $Revision Header ********************************************************/
  19.  
  20.     /* Defines for defaults */
  21.  
  22. #define DEFAULT_PROJECT_NAME        "unnamed"
  23. #define DEFAULT_PROJECT_ID        "test"
  24. #define DEFAULT_EDITOR_MODE        EDITOR_MODE_CREATE
  25. #define DEFAULT_SNAP_OFFSET        1
  26. #define DEFAULT_TEMPLATE_TYPE        TEMPLATE_TYPE_BUTTON
  27. #define DEFAULT_TEMPLATE_LIST_FLAGS    (TEMPLATE_LIST_FLAG_RESIZING | TEMPLATE_LIST_FLAG_AVAIL_FONTS)
  28. #define DEFAULT_LIST_MODE        LIST_MODE_EDIT
  29.  
  30. #define DEFAULT_PROJECT_FILE_NAME    (DEFAULT_PROJECT_NAME ".tpl")
  31. #define DEFAULT_CSOURCE_FILE_NAME    (DEFAULT_PROJECT_NAME ".c")
  32.  
  33. #define DEFAULT_FONT_NAME        "topaz.font"
  34. #define DEFAULT_FONT_YSIZE        TOPAZ_EIGHTY
  35.  
  36.     /* Defines for windows */
  37.  
  38. #define EDIT_RENDER_INFO_FLAGS        (RENDER_INFO_FLAG_INNER_WINDOW | RENDER_INFO_FLAG_BACK_FILL)
  39. #define EDIT_OPEN_WINDOW_FLAGS        0
  40.  
  41. #define PROJECT_RENDER_INFO_FLAGS    0
  42. #define PROJECT_OPEN_WINDOW_FLAGS    0
  43.  
  44. #define EDITOR_WINDOW_LEFT        0
  45. #define EDITOR_WINDOW_TOP        0
  46. #define EDITOR_WINDOW_WIDTH        518
  47. #define EDITOR_WINDOW_HEIGHT        112
  48. #define EDITOR_WINDOW_DETAIL_PEN    0
  49. #define EDITOR_WINDOW_BLOCK_PEN        1
  50. #define EDITOR_WINDOW_IDCMP        (CLOSEWINDOW | GADGET_IDCMP_FLAGS_ALL | MENUPICK)
  51. #define EDITOR_WINDOW_FLAGS        (WINDOWCLOSE | WINDOWDRAG | WINDOWDEPTH | SMART_REFRESH | NOCAREREFRESH | ACTIVATE)
  52. #define EDITOR_WINDOW_TITLE        (UBYTE *)" Template Editor v1.0 "
  53.  
  54. #define PROJECT_WINDOW_DETAIL_PEN    0
  55. #define PROJECT_WINDOW_BLOCK_PEN    1
  56. #define PROJECT_WINDOW_IDCMP        (MOUSEMOVE | MOUSEBUTTONS | NEWSIZE | GADGET_IDCMP_FLAGS_ALL)
  57. #define PROJECT_WINDOW_FLAGS        (WINDOWDRAG | WINDOWDEPTH | WINDOWSIZING | SMART_REFRESH | RMBTRAP | REPORTMOUSE)
  58. #define PROJECT_WINDOW_TITLE        (UBYTE *)NULL
  59. #define PROJECT_WINDOW_MIN_WIDTH    100
  60. #define PROJECT_WINDOW_MIN_HEIGHT    20
  61.  
  62.     /* Defines for text len */
  63.  
  64. #define MAX_PROJECT_NAME_LEN    (LONG_FSIZE + 1)
  65. #define MAX_PROJECT_ID_LEN    10
  66. #define MAX_TEMPLATE_NAME_LEN    30
  67. #define MAX_TEXT_LEN        40
  68.  
  69.     /* Defines for editor status */
  70.  
  71. #define EDITOR_STATUS_NORMAL        0
  72. #define EDITOR_STATUS_ERROR        1
  73. #define EDITOR_STATUS_EOF        2
  74. #define EDITOR_STATUS_EOB        3
  75. #define EDITOR_STATUS_EDIT        4
  76. #define EDITOR_STATUS_WINDOW        5
  77. #define EDITOR_STATUS_NEW        6
  78. #define EDITOR_STATUS_LOAD        7
  79. #define EDITOR_STATUS_APPEND        8
  80. #define EDITOR_STATUS_SAVE        9
  81. #define EDITOR_STATUS_SAVE_C        10
  82. #define EDITOR_STATUS_ABOUT        11
  83. #define EDITOR_STATUS_QUIT        12
  84.  
  85.     /* Defines for editor error messages */
  86.  
  87. #define EDITOR_ERROR_NO_ARP        -1
  88. #define EDITOR_ERROR_NO_INTUISUP    -2
  89. #define EDITOR_ERROR_NO_WINDOW        -3
  90. #define EDITOR_ERROR_OUT_OF_MEM        -4
  91. #define EDITOR_ERROR_OPEN_FAILED    -5
  92. #define EDITOR_ERROR_WRITE_FAILED    -6
  93. #define EDITOR_ERROR_READ_FAILED    -7
  94. #define EDITOR_ERROR_LINE_TOO_LONG    -8
  95. #define EDITOR_ERROR_NO_ARGUMENT    -9
  96. #define EDITOR_ERROR_END_WRONG_BLOCK    -10
  97. #define EDITOR_ERROR_INVALID_FONT    -11
  98.  
  99.     /* Defines for editor gadgets */
  100.  
  101. #define EDITOR_GADGET_TYPE        0
  102. #define EDITOR_GADGET_CREATE        1
  103. #define EDITOR_GADGET_MODIFY        2
  104. #define EDITOR_GADGET_CLONE        3
  105. #define EDITOR_GADGET_DELETE        4
  106. #define EDITOR_GADGET_EDIT        5
  107. #define EDITOR_GADGET_USE        6
  108. #define EDITOR_GADGET_TEMPLATES        7
  109.  
  110. #define EDITOR_MODE_CREATE    0
  111. #define EDITOR_MODE_MODIFY    1
  112. #define EDITOR_MODE_CLONE    2
  113. #define EDITOR_MODE_DELETE    3
  114. #define EDITOR_MODE_EDIT    4
  115. #define EDITOR_MODE_USE        5
  116.  
  117. #define MODIFY_MODE_MOVE    0
  118. #define MODIFY_MODE_RESIZE    1
  119.  
  120.     /* Defines for templates */
  121.  
  122. #define TEMPLATE_TYPE_BORDER    0
  123. #define TEMPLATE_TYPE_TEXT    1
  124. #define TEMPLATE_TYPE_BUTTON    2
  125. #define TEMPLATE_TYPE_CHECK    3
  126. #define TEMPLATE_TYPE_MX    4
  127. #define TEMPLATE_TYPE_STRING    5
  128. #define TEMPLATE_TYPE_INTEGER    6
  129. #define TEMPLATE_TYPE_SLIDER    7
  130. #define TEMPLATE_TYPE_SCROLLER    8
  131. #define TEMPLATE_TYPE_CYCLE    9
  132. #define TEMPLATE_TYPE_COUNT    10
  133. #define TEMPLATE_TYPE_LISTVIEW    11
  134. #define TEMPLATE_TYPE_PALETTE    12
  135.  
  136. #define MAX_TEMPLATE_TYPES    13
  137.  
  138. #define FIRST_GADGET_TEMPLATE_TYPE    TEMPLATE_TYPE_BUTTON
  139.  
  140. #define TEMPLATE_FLAG_DEFAULT_NAME    (1 << 0)
  141. #define TEMPLATE_FLAG_MODIFIED        (1 << 1)
  142.  
  143.     /* Defines for template groups */
  144.  
  145. #define TEMPLATE_GROUP(tp)    (tp->tp_Type < FIRST_GADGET_TEMPLATE_TYPE ? tp->tp_Type : TEMPLATE_GROUP_GADGET)
  146.  
  147. #define TEMPLATE_GROUP_BORDER    0
  148. #define TEMPLATE_GROUP_TEXT    1
  149. #define TEMPLATE_GROUP_GADGET    2
  150.  
  151.     /* Defines for template list */
  152.  
  153. #define TEMPLATE_LIST_FLAG_CHANGED        (1 << 0)    /* template list modified */
  154. #define TEMPLATE_LIST_FLAG_RESIZING        (1 << 1)    /* enable resizing of project window */
  155. #define TEMPLATE_LIST_FLAG_BACK_FILL        (1 << 2)    /* fill background of project window */
  156. #define TEMPLATE_LIST_FLAG_RENDER_COLORS    (1 << 3)    /* use colors from render info for rendering project window */
  157. #define TEMPLATE_LIST_FLAG_AVAIL_FONTS        (1 << 4)    /* scan avail fonts for project window */
  158. #define TEMPLATE_LIST_FLAG_DEFAULT_WINDOW    (1 << 5)    /* use default flags and dimension for project window */
  159. #define TEMPLATE_LIST_FLAG_SOURCE_STATIC_DATA    (1 << 6)    /* define all data as static */
  160. #define TEMPLATE_LIST_FLAG_SOURCE_INNER_WINDOW    (1 << 7)    /* use for all offsets and dimensions data of the inner window */
  161. #define TEMPLATE_LIST_FLAG_SOURCE_CENTER_WINDOW    (1 << 8)    /* center window on screen */
  162. #define TEMPLATE_LIST_FLAG_SOURCE_WINDOW    (1 << 9)    /* generate C source for project window */
  163. #define TEMPLATE_LIST_FLAG_SOURCE_PROGRAM    (1 << 10)    /* generate C source for project test program */
  164.  
  165.     /* Defines for file requesters */
  166.  
  167. #define PROJECT_LOAD_HAIL_TEXT        " Load Project "
  168. #define PROJECT_APPEND_HAIL_TEXT    " Append Project "
  169. #define PROJECT_SAVE_HAIL_TEXT        " Save Project "
  170.  
  171. #define CSOURCE_SAVE_HAIL_TEXT        " Save C Source "
  172.  
  173.     /* Defines for edit gadgets */
  174.  
  175. #define EDIT_GADGET_OK        0
  176. #define EDIT_GADGET_DEFAULT    1
  177. #define EDIT_GADGET_SWITCH    2
  178. #define EDIT_GADGET_CANCEL    3
  179.  
  180. #define BORDER_GADGET_NAME    0
  181. #define BORDER_GADGET_TYPE    1
  182.  
  183. #define TEXT_GADGET_NAME    0
  184. #define TEXT_GADGET_TEXT    1
  185. #define TEXT_GADGET_FONT    2
  186. #define TEXT_GADGET_SIZE    3
  187. #define TEXT_GADGET_TYPE    4
  188. #define TEXT_GADGET_BOLD    5
  189. #define TEXT_GADGET_ITALIC    6
  190. #define TEXT_GADGET_UNDERLINED    7
  191. #define TEXT_GADGET_COLOR2    8
  192. #define TEXT_GADGET_COMPLEMENT    9
  193.  
  194. #define NORMAL_GADGET_NAME        0
  195. #define NORMAL_GADGET_TEXT        1
  196. #define NORMAL_GADGET_FONT        2
  197. #define NORMAL_GADGET_SIZE        3
  198. #define NORMAL_GADGET_POS        4
  199. #define NORMAL_GADGET_DISABLED        5
  200. #define NORMAL_GADGET_NO_BORDER        6
  201. #define NORMAL_GADGET_HIGHCOMP        7
  202. #define NORMAL_GADGET_HOTKEY        8
  203. #define NORMAL_GADGET_COLOR2        9
  204.  
  205. #define TEXT_POS_LEFT        0
  206. #define TEXT_POS_RIGHT        1
  207. #define TEXT_POS_ABOVE        2
  208. #define TEXT_POS_BELOW        3
  209. #define TEXT_POS_INSIDE        4
  210.  
  211. #define GADGET_TEXT_POS_MASK(flags)    (flags & (GADGET_DATA_FLAG_TEXT_LEFT | GADGET_DATA_FLAG_TEXT_RIGHT | GADGET_DATA_FLAG_TEXT_ABOVE | GADGET_DATA_FLAG_TEXT_BELOW))
  212.  
  213.     /* Defines for load file */
  214.  
  215. #define LOAD_MODE_NORMAL    0
  216. #define LOAD_MODE_APPEND    1
  217.  
  218.     /* Defines for text list editor modes */
  219.  
  220. #define LIST_MODE_EDIT        0
  221. #define LIST_MODE_ADD        1
  222. #define LIST_MODE_INSERT    2
  223. #define LIST_MODE_DELETE    3
  224.  
  225.     /* Structures */
  226.  
  227. struct TemplateFont {
  228.     struct MinNode   tf_MinNode;
  229.     struct TextAttr  tf_TextAttr;
  230.     SHORT    tf_UseCount;
  231. };
  232. struct Box {
  233.     SHORT    bo_X1;
  234.     SHORT    bo_Y1;
  235.     SHORT    bo_X2;
  236.     SHORT    bo_Y2;
  237. };
  238. struct Dimension {
  239.     USHORT    dim_Width;
  240.     USHORT    dim_Height;
  241. };
  242. struct Template {
  243.     struct Node        tp_Node;        /* ln_Name points to tp_Name */
  244.     USHORT    tp_Type;            /* long word align */
  245.     USHORT    tp_Flags;
  246.     USHORT  tp_GroupEntryNum;        /* ordinal number of group entry in template list -> used for default name */
  247.     struct Box   tp_Box;
  248.     struct List  tp_TextList;         /* list for MX, Cycle und ListView template texts */
  249.     union {
  250.         struct BorderData  tp_BorderData;
  251.         struct TextData    tp_TextData;
  252.         struct GadgetData  tp_GadgetData;
  253.     } tp_Data;
  254.     ULONG    tp_DataEnd;            /* needed for data end marker ISUP_DATA_END */
  255.     struct Template  *tp_PrevLocked;    /* ptr to previous locked template */
  256.     struct Template  *tp_NextLocked;    /* ptr to next locked template */
  257.     BYTE    tp_TemplateName[MAX_TEMPLATE_NAME_LEN + 1];
  258. };
  259. struct TemplateList {
  260.     struct MinList  tl_Fonts;
  261.     struct MinList  tl_Templates;
  262.     USHORT    tl_BorderTemplates;
  263.     USHORT    tl_TextTemplates;
  264.     USHORT    tl_GadgetTemplates;
  265.     USHORT    tl_Flags;
  266.     BYTE    tl_ProjectName[MAX_PROJECT_NAME_LEN + 1];
  267.     BYTE    tl_ProjectID[MAX_PROJECT_ID_LEN + 1];
  268. };
  269.